home *** CD-ROM | disk | FTP | other *** search
- //------------------------------------------------------------------------------
- // File: $$DLL_NAME$$.h
- //
- // Desc: Custom interface for $$INTERFACE_NAME$$
- //
- // Author: $$DSDMO_AUTHOR$$
- //
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------------------------
-
- /////////////////////////////////////////////////////////////////////////////
- // TODO List:
- $$IF(SUPPORT_DS_IMEDPARAM || SUPPORT_DS_DMP)
- // - Define parameters for the DMO in the _$$DSDMOID_NAME$$Params struct
- $$ENDIF
- // - Add custom interface functions if any
- //
- /////////////////////////////////////////////////////////////////////////////
-
- #ifndef _$$DSDMO_DEFINE$$_INTERFACE_
- #define _$$DSDMO_DEFINE$$_INTERFACE_
-
- $$IF(SUPPORT_DS_IMEDPARAM || SUPPORT_DS_DMP)
- ///////////////////////////////////////////////////////////////////////////////
- // Parameter Info
- // struct to hold the DMO's Parameters
- typedef struct _$$DSDMOID_NAME$$Params
- {
- $$IF(EMPTY_DSDMO)
- // TODO: Define parameters for the DMO
- DWORD dwParam1; // NOTE: dwParam1 is provided as an example
- $$ELSE // Sample DMO
- float fFreq;
- float fWidth;
- $$ENDIF
-
- } $$DSDMOID_NAME$$Params, *LP$$DSDMOID_NAME$$Params;
- typedef const $$DSDMOID_NAME$$Params *LPC$$DSDMOID_NAME$$Params;
- $$ENDIF
-
- #ifdef __cplusplus
- extern "C" {
- #endif /* C++ */
-
- /* Forward Declarations */
- #ifdef __cplusplus
- typedef class $$CLASS_NAME$$ $$CLASS_NAME$$;
- #else
- typedef struct $$CLASS_NAME$$ $$CLASS_NAME$$;
- #endif /* __cplusplus */
-
- $$IF(SUPPORT_DS_DMP)
- #ifdef __cplusplus
- typedef class $$CLASS_NAME$$Prop $$CLASS_NAME$$Prop;
- #else
- typedef struct $$CLASS_NAME$$Prop $$CLASS_NAME$$Prop;
- #endif /* __cplusplus */
- $$ENDIF
-
- interface $$INTERFACE_NAME$$;
- #ifndef __cplusplus
- typedef interface $$INTERFACE_NAME$$ $$INTERFACE_NAME$$;
- #endif /* C++ */
-
- /* Interface Definition */
- #undef INTERFACE
- #define INTERFACE $$INTERFACE_NAME$$
- DECLARE_INTERFACE_($$INTERFACE_NAME$$, IUnknown)
- {
- // $$INTERFACE_NAME$$ methods
- $$IF(SUPPORT_DS_IMEDPARAM || SUPPORT_DS_DMP)
- STDMETHOD(SetAllParameters) (THIS_ LPC$$DSDMOID_NAME$$Params pc$$DSDMOID_NAME$$Params) PURE;
- STDMETHOD(GetAllParameters) (THIS_ LP$$DSDMOID_NAME$$Params p$$DSDMOID_NAME$$Params) PURE;
- $$ENDIF
- // TODO: Add your custom interface methods here
- };
-
- /* GUID Definition */
- DEFINE_GUID(CLSID_$$DSDMO_DEFINE$$, $$DSDMO_CLSID$$);
- $$IF(SUPPORT_DS_DMP)
- DEFINE_GUID(CLSID_$$DSDMO_DEFINE$$PROP, $$DSDMO_PROP_CLSID$$);
- $$ENDIF
- DEFINE_GUID(IID_$$INTERFACE_NAME$$, $$DSDMO_IID$$);
-
- #ifdef __cplusplus
- class DECLSPEC_UUID("$$DSDMO_CLSID_UUID$$") $$CLASS_NAME$$;
- $$IF(SUPPORT_DS_DMP)
- class DECLSPEC_UUID("$$DSDMO_PROP_CLSID_UUID$$") $$CLASS_NAME$$Prop;
- $$ENDIF
- #endif
-
- #ifdef __cplusplus
- }; /* extern "C" */
- #endif /* C++ */
-
- #endif // _$$DSDMO_DEFINE$$_INTERFACE_
-
-